package lava.rt.linq;


import java.util.Collection;
import java.util.List;
import java.util.function.Supplier;



public interface  DataContext  {

	

	
	
	
	
	public <M extends Entity> List<M> listEntities(Supplier<M> entityBuilder, String cmd, Object... params) throws LinqExecption ;

	public Object[][] listArrays(String cmd, Object... params) throws LinqExecption ;

	
	
	
	
	
	
	public <E extends Entity> E getEntity(Class<E> cls,Object pk) throws LinqExecption;

	public <E extends Entity> int addEntities(Collection<E> entities) throws LinqExecption ;

	public int addEntity(Entity entity) throws LinqExecption ;
	

	public int setEntity(Entity entity) throws LinqExecption;

	

	public <E extends Entity> int setEntities(Collection<E> entities) throws LinqExecption ;

	

	public int removeEntity(Entity entity) throws LinqExecption ;
	
	public <E extends Entity> int removeEntities(Collection<E> entities) throws LinqExecption;

	
	
	
	
	

	
}
